#ifndef DIALOG_H
#define DIALOG_H

#include <QWidget>
#include <QPixmap>
#include <QLabel>
#include <QPushButton>
#include <QList>
#include <QPaintEvent>
#include <QPainter>
#include <QGridLayout>
#include <QSignalMapper>

// Animation includes
#include <QPropertyAnimation>
#include <QApplication>
#include <QDesktopWidget>

class Dialog : public QWidget
{

Q_OBJECT

public:
    Dialog(QString message, QList<QString> buttons, QPixmap background, QWidget *parent = 0);

signals:
    void buttonClicked(int buttonID);

public slots:
    void showDialog();
    void hideDialog();

protected:
    void paintEvent(QPaintEvent *event);

private:
    QGridLayout layout;
    QLabel messageLabel;
    QList<QPushButton*> buttonsList;
    QPixmap backgroundPixmap;
    QSignalMapper signalMapper;
};

#endif // DIALOG_H
